package com.erp.order.service;


import com.erp.order.domain.bo.ErpSellerOrderLogBo;
import com.erp.order.domain.vo.ErpSellerOrderLogVo;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.web.oldPage.TableDataInfo;
import com.ruoyi.order.api.domain.ErpSellerOrderLog;
import com.ruoyi.common.core.enums.OrderLogType;
import com.ruoyi.common.core.domain.R;

import java.util.List;

/**
 * 订单日志Service接口
 *
 * @author erp
 * @date 2023-04-12
 */
public interface IErpSellerOrderLogService {

//    /**
//     * 查询订单日志
//     */
//    ErpSellerOrderLogVo queryById(Long id);
//
//    /**
//     * 查询订单日志列表
//     */
//    TableDataInfo<ErpSellerOrderLogVo> queryPageList(ErpSellerOrderLogBo bo, PageQuery pageQuery);
//
//    /**
//     * 查询订单日志列表
//     */
//    List<ErpSellerOrderLogVo> queryList(ErpSellerOrderLogBo bo);
//
//    /**
//     * 新增订单日志
//     */
//    Boolean insertByBo(ErpSellerOrderLogBo bo);

    /**
     * 修改订单日志
     */
    Boolean updateByBo(ErpSellerOrderLogBo bo);
//
//    /**
//     * 校验并批量删除订单日志信息
//     */
//    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     * 根据订单号查询订单日志信息
     */
    List<ErpSellerOrderLogVo> selectOrderLogByOrderId(Long orderId);

    /**
     * 获取最新一条的订单信息
     */
    ErpSellerOrderLog getStatusIntro(Long orderId);

    ErpSellerOrderLog queryByStatusIntroAndOrderId(String Str, Long orderId);
//
//
    /**
     * 新版创建订单日志
     */
    R<Object> createOrderLog(Long orderId, String childOrderId, OrderLogType orderLogType, String remark, String orderProcessFlagInfo, String erpStatus);
//
//
//    /**
//     * 将订单的上一状态和当前状态存入日志表
//     */
//    void updateOrderLog();

    TableDataInfo<ErpSellerOrderLogVo> getRejectAndCutOffRecord(PageQuery pageQuery, ErpSellerOrderLogBo log);
//
//    /**
//     * 获取订单日志是否已存在
//     */
//    R<Object> checkOrderLog(Long orderId, OrderLogType orderLogType, String orderProcessFlagInfo);


    R<Object> setOrderMemo(Long orderId, String memo);
}
